package com.tourism.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.tourism.dao.HotelDao;
import com.tourism.entity.Hotel;
import com.tourism.entity.HotelQuery;
import com.tourism.service.HotelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Description
 * @Author z
 * @Date 2021-04-25 15:54
 */
@Service
public class HotelServiceImpl implements HotelService {

    @Autowired
    private HotelDao hotelDao;
//根据ID查询酒店信息
    @Override
    public Hotel getHotelById(Long id) {
        return hotelDao.getHotelById(id);
    }
//根据ID删除酒店信息
    @Override
    public Boolean deleteHotelById(Long id) {
        return hotelDao.deleteHotelById(id);
    }
//新增酒店
    @Override
    public boolean addHotel(Hotel hotel) {
        hotel.init();
        return hotelDao.addHotel(hotel);
    }
//修改酒店信息
    @Override
    public boolean updateHotel(Hotel hotel) {
        return hotelDao.updateHotel(hotel);
    }
//分页查询酒店信息
    @Override
    public PageInfo<Hotel> getHotelList(HotelQuery hotelQuery) {
//     部分参数设置页数和页大小
        PageHelper.startPage(hotelQuery.getPageNum(), hotelQuery.getPageSize());
//   部分参数从dao层查询酒店列表
        List<Hotel> hotelList = hotelDao.getHotelList(hotelQuery);
//        将查询到的列表分页返回给控制层
        PageInfo<Hotel> result = new PageInfo<>(hotelList);
        return result;

    }
}
